import request from '@/utils/request';

// 分页查询用户列表
export const getUserPage = (pageNum: number, pageSize: number, query: User) => {
  return request({
    url: '/user/page',
    method: 'get',
    params: {
      pageNum,
      pageSize,
      ...query
    }
  });
};

// 获取用户列表
export const getUserList = () => {
  return request({
    url: '/user/list',
    method: 'get'
  });
};

// 根据id获取用户
export const getUserById = (id: number) => {
  return request({
    url: `/api/user/${id}`,
    method: 'get'
  });
};

// 创建用户
export const createUser = (data: any) => {
  return request({
    url: '/user/save',
    method: 'post',
    data
  });
};

// 更新用户
export const updateUser = (data: any) => {
  return request({
    url: '/user/update',
    method: 'put',
    data
  });
};

// 删除用户
export const deleteUser = (id: number) => {
  return request({
    url: `/api/user/${id}`,
    method: 'delete'
  });
};

// 用户接口定义
export interface User {
  userId: number; // 用户ID
  username: string; // 用户名
  password: string; // 密码
  gender: any; // 性别(1-男 2-女)
  nickName: string; // 昵称
  avatar: string; // 个人头像
  email: string; // 邮箱
  birthday: string; // 出生年月日
  mobile: string; // 手机
  description: string; // 自我简介
  loginCount: number; // 登录次数
  lastLoginTime: string; // 最后登录时间
  lastLoginIp: string; // 最后登录IP
  ipSource: string; // ip来源
  browser: string; // 浏览器
  os: string; // 操作系统
  salt: string; // 随机盐
  status: any; // 状态(0-开启 1-关闭)
  deleted: any; // 逻辑删除(0-正常 1-删除)
  createTime: string; // 创建时间
  updateTime: string; // 更新时间
  createBy: string; // 创建人
  updateBy: string; // 更新人
}

